package com.hly.tool.login; /**
 * Copyright Glaway All right reserved.<br>
 * Project：ActiveMQ
 */

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLDecoder;
import java.util.Properties;

/**
 * 获取配置文件properties参数
 * Description：
 * @Author： Jack.Hao
 * Create Date： 2020年8月20日
 * @Version： 0.1
 */
public class JARPropertiesValue
{
    /**
     * 通过properties的key获取value值
     * 
     * @param propertiesKEY properties的key
     * @return value值
     */
    public String propertiesValue(String propertiesKEY) throws IOException
    {

        InputStream in;
        String appId = "";
        try {
            String jarPath = getPath();
            // System.out.println("jarPath==>" + jarPath);
            in = new FileInputStream(jarPath + "/client.properties");
            Properties p = new Properties();
            p.load(in);
            appId = p.getProperty(propertiesKEY);
            // System.out.println("jarPath=appId=>" + appId);
        } catch (Exception e) {
           throw e;
        }
        return appId;
    }

    /**
     * 获取jar所在的文件夹路径
     * 
     * @return jar所在的文件夹路径
     */
    public String getPath() {
        URL url = JARPropertiesValue.class.getProtectionDomain().getCodeSource().getLocation();
        String filePath = null;
        try {
            filePath = URLDecoder.decode(url.getPath(), "utf-8");// 转化为utf-8编码
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (filePath.endsWith(".jar")) {// 可执行jar包运行的结果里包含".jar"
            // 截取路径中的jar包名
            filePath = filePath.substring(0, filePath.lastIndexOf("/") + 1);
        }

        File file = new File(filePath);

        filePath = file.getAbsolutePath();// 得到windows下的正确路径
        // filePath = filePath.replaceAll("\\\\", "\\\\\\\\");
        filePath = filePath.replaceAll("\\\\", "/");
        return filePath;
    }
}
